mod 00 - 0000 0000 01 00 00 000 000

000400
01 00 00 000 000 
01 00 00 000 001

0405
0000 01 00 00 000 101 ; add byte ptr [eax+00000000], al

040D
0000 01 00 00 001 101 ; add byte ptr [ecx+00000000], al

0415
0000 01 00 00 010 101 ; add byte ptr [edx+00000000], al


0445:
0000 01 00 01 000 101 ; [eax*2+00000000]

048D:
0000 01 00 10 001 101 ; [eax*4+00000000]

04DD:
0000 01 00 11 011 101 ; [eax*8+00000000]

    {"al", "cl", "dl", "bl", "ah", "ch", "dh", "bh"},
    {"ax", "cx", "dx", "bx", "sp", "bp", "si", "di"},
    {"eax","ecx","edx","ebx","esp","ebp","esi","edi"} 

Opcode:
<Bits D/W> <REG> <MEM/REG+SCALE+SIB>

<D/W>
00 - XX,AL
01 - XX, EAX
10 - AL, XX
11 - EAX, XX

Scale:
00 - 1 (no need to show)
01 - 2
10 - 4
11 - 8
 
0x00 -> 00 000 000 ; no byte extention
0x40->  01 000 000 ; 1 byte extenton
0x80 -> 10 000 000 ; 4 byte(s) extention

<REG>
0003
0000 0 011

00
00 000 000 ; 0000 0000
             0011 1000
0C
00 001 100
04
00 000 100
0E
00 001 110
13
00 010 011
14
00 010 100
3C
0011 1100
0000 0111

=========== [Decode Registers] ==============
1. AL: [0-7] / ADD
00 [000] 000 
00 000 001
00 000 111

2. CL: [8-F] / OR
00 [001] 000
00 001 001
00 001 111

3. DL: [10-17] / ADC
00 [010] 000
00 010 001
00 010 111

4. BL: [18-1F] / SBB
00 011 000
00 011 001
00 011 111

5. AH: [20-27] / AND
00 100 000
00 100 001
00 100 111
   
6. CH: [28-2F] / SUB
00 101 000
00 101 001
00 101 111

7. DH: [30-37] / XOR
00 110 000
00 110 001
00 110 111

8. BH: [38-3F] / CMP
00 111 000
00 111 001
00 111 111

AL: [40-47] + BYTE
01 000 000
01 000 001
01 000 111

BL: [48-4F]
01 001 000
01 001 001
01 001 111
...
...
AL: [80-87] +  4 BYTES
..
..

opcode 00:

00401000      000400              ADD     BYTE PTR DS:[EAX+EAX], AL
00401003      000C00              ADD     BYTE PTR DS:[EAX+EAX], CL
00401006      001400              ADD     BYTE PTR DS:[EAX+EAX], DL
00401009      001C00              ADD     BYTE PTR DS:[EAX+EAX], BL
0040100C      002400              ADD     BYTE PTR DS:[EAX+EAX], AH
0040100F      002C00              ADD     BYTE PTR DS:[EAX+EAX], CH
00401012      003400              ADD     BYTE PTR DS:[EAX+EAX], DH
00401015      003C00              ADD     BYTE PTR DS:[EAX+EAX], BH
--------------------------------------------------------------------
00401000      004000              ADD     BYTE PTR DS:[EAX+EAX+00], AL
00401003      000C00              ADD     BYTE PTR DS:[EAX+EAX+00], CL
00401006      001400              ADD     BYTE PTR DS:[EAX+EAX+00], DL
00401009      001C00              ADD     BYTE PTR DS:[EAX+EAX+00], BL
0040100C      002400              ADD     BYTE PTR DS:[EAX+EAX+00], AH
0040100F      002C00              ADD     BYTE PTR DS:[EAX+EAX+00], CH
00401012      003400              ADD     BYTE PTR DS:[EAX+EAX+00], DH
00401015      003C00              ADD     BYTE PTR DS:[EAX+EAX+00], BH
----------------------------------------------------------------------
00401000      008000              ADD     BYTE PTR DS:[EAX+EAX+00000000], AL
00401003      000C00              ADD     BYTE PTR DS:[EAX+EAX+00000000], CL
00401006      001400              ADD     BYTE PTR DS:[EAX+EAX+00000000], DL
00401009      001C00              ADD     BYTE PTR DS:[EAX+EAX+00000000], BL
0040100C      002400              ADD     BYTE PTR DS:[EAX+EAX+00000000], AH
0040100F      002C00              ADD     BYTE PTR DS:[EAX+EAX+00000000], CH
00401012      003400              ADD     BYTE PTR DS:[EAX+EAX+00000000], DH
00401015      003C00              ADD     BYTE PTR DS:[EAX+EAX+00000000], BH
----------------------------------------------------------------------------

opcode 01:

00401000      000400              ADD     DWORD PTR DS:[EAX+EAX], EAX
00401003      000C00              ADD     DWORD PTR DS:[EAX+EAX], ECX
00401006      001400              ADD     DWORD PTR DS:[EAX+EAX], EDX
00401009      001C00              ADD     DWORD PTR DS:[EAX+EAX], EBX
0040100C      002400              ADD     DWORD PTR DS:[EAX+EAX], ESP
0040100F      002C00              ADD     DWORD PTR DS:[EAX+EAX], EBP
00401012      003400              ADD     DWORD PTR DS:[EAX+EAX], ESI
00401015      003C00              ADD     DWORD PTR DS:[EAX+EAX], EDI
--------------------------------------------------------------------
00401000      004000              ADD     DWORD PTR DS:[EAX+EAX+00], EAX
00401003      000C00              ADD     DWORD PTR DS:[EAX+EAX+00], ECX
00401006      001400              ADD     DWORD PTR DS:[EAX+EAX+00], EDX
00401009      001C00              ADD     DWORD PTR DS:[EAX+EAX+00], EBX
0040100C      002400              ADD     DWORD PTR DS:[EAX+EAX+00], ESP
0040100F      002C00              ADD     DWORD PTR DS:[EAX+EAX+00], EBP
00401012      003400              ADD     DWORD PTR DS:[EAX+EAX+00], ESI
00401015      003C00              ADD     DWORD PTR DS:[EAX+EAX+00], EDI
----------------------------------------------------------------------
00401000      008000              ADD     DWORD PTR DS:[EAX+EAX+00000000], EAX
00401003      000C00              ADD     DWORD PTR DS:[EAX+EAX+00000000], ECX
00401006      001400              ADD     DWORD PTR DS:[EAX+EAX+00000000], EDX
00401009      001C00              ADD     DWORD PTR DS:[EAX+EAX+00000000], EBX
0040100C      002400              ADD     DWORD PTR DS:[EAX+EAX+00000000], ESP
0040100F      002C00              ADD     DWORD PTR DS:[EAX+EAX+00000000], EBP
00401012      003400              ADD     DWORD PTR DS:[EAX+EAX+00000000], ESI
00401015      003C00              ADD     DWORD PTR DS:[EAX+EAX+00000000], EDI
----------------------------------------------------------------------------

Prefix 0x67:
00401020      67:0000             ADD     BYTE PTR DS:[BX+SI], AL
00401023      67:0001             ADD     BYTE PTR DS:[BX+DI], AL
00401026      67:0002             ADD     BYTE PTR SS:[BP+SI], AL
00401029      67:0003             ADD     BYTE PTR SS:[BP+DI], AL
0040102C      67:0004             ADD     BYTE PTR DS:[SI], AL
0040102F      67:0005             ADD     BYTE PTR DS:[DI], AL
00401032      67:0006 0000        ADD     BYTE PTR DS:[0], AL
00401037      67:0007             ADD     BYTE PTR DS:[BX], AL
0040103A      67:0008             ADD     BYTE PTR DS:[BX+SI], CL
0040103D      67:0009             ADD     BYTE PTR DS:[BX+DI], CL
00401040      67:000A             ADD     BYTE PTR SS:[BP+SI], CL
00401043      67:000B             ADD     BYTE PTR SS:[BP+DI], CL
00401046      67:000C             ADD     BYTE PTR DS:[SI], CL
00401049      67:000D             ADD     BYTE PTR DS:[DI], CL
0040104C      67:000E 0000        ADD     BYTE PTR DS:[0], CL
00401051      67:000F             ADD     BYTE PTR DS:[BX], CL
==============================================================
00401054      67:0010             ADD     BYTE PTR DS:[BX+SI], DL
00401000 >    67:0011        ADD BYTE PTR DS:[BX+DI],DL
00401003      67:0012        ADD BYTE PTR SS:[BP+SI],DL
00401006      67:0013        ADD BYTE PTR SS:[BP+DI],DL
00401009      67:0014        ADD BYTE PTR DS:[SI],DL
0040100C      67:0015        ADD BYTE PTR DS:[DI],DL
0040100F      67:0016 006A   ADD BYTE PTR DS:[6A00],DL
00401014      67:0017        ADD BYTE PTR DS:[BX],DL
00401017      67:0018        ADD BYTE PTR DS:[BX+SI],BL
0040101A      67:0019        ADD BYTE PTR DS:[BX+DI],BL

0x00-0x3F: no byte extension, i.e: BX+SI (0x06 -> XX)
0x40-0x7F: 1 byte extension , i.e: BX+SI+XX (0x06 -> BP+XX)
0x80-0xBF: 2 byte extension , i.e: BX+SI+XXXX ((0x06 -> BP+XXXX)

